The following description relates to systems and techniques relating to diagnostic tools for computer systems, for example, a test and verification framework.
Developers of a software product may first write code for the product, compile the code, and then test and debug problems found in the code. The product may then be finalized and offered to customers.
The product may require further testing after it has been finalized. Additional testing may be needed for several reasons. Certain problems may not have been detected during test and debug at the developer's site. New problems may arise as a result of bug fixes and added functionality. Problems also may arise as the software product interacts with other applications installed in the same computer system in which the product is installed.
The computing environment in which the product operates in the developer computer system may be different from the environment in which the product operates in the customer computer system. For example, the developer computer system may include only the product, low level APIs, and the test layer, whereas the customer computer system may include many interfaced components, e.g., applications 160 and databases, not in the developer system. The differences in computing environment may affect the behavior of the product during a test. One approach is to install a system identical to that of the customer's at the developer site in order to recreate the environment in which the product is working. However, this may be a time consuming and involved task.